FHIR IG analytics| Package | openehr.base |
| Resource Type | StructureDefinition |
| Id | StructureDefinition-DV-INTERVAL.json |
| FHIR Version | R5 |
| Source | https://build.fhir.org/ig/openehr-fhir/base-spec/StructureDefinition-DV-INTERVAL.html |
| URL | http://openehr.org/fhir/StructureDefinition/DV_INTERVAL |
| Version | 0.1.0 |
| Status | active |
| Date | 2025-09-06T15:35:39+10:00 |
| Name | DV_INTERVAL |
| Title | DV_INTERVAL |
| Realm | uv |
| Authority | hl7 |
| Description | Generic class defining an interval (i.e. range) of a comparable type. An interval is a contiguous subrange of a comparable base type. Used to define intervals of dates, times, quantities (whose units match) and so on. The type parameter, `T`, must be a descendant of the type `DV_ORDERED`, which is necessary (but not sufficient) for instances to be compared (`_strictly_comparable_` is also needed). Without the `DV_INTERVAL` class, quite a few more `DV_` classes would be needed to express logical intervals, namely interval versions of all the date/time classes, and of quantity classes. Further, it allows the semantics of intervals to be stated in one place unequivocally, including the conditions for strict comparison. The basic semantics are derived from the class `Interval<T>`, described in the support RM. |
| Type | http://openehr.org/fhir/StructureDefinition/DV_INTERVAL |
| Kind | logical |
| StructureDefinition | ||
| openehr.base#current | CAPABILITY | CAPABILITY |
| openehr.base#current | CONTACT | CONTACT |
| openehr.base#current | DV_COUNT | DV_COUNT |
| openehr.base#current | DV_ORDERED | DV_ORDERED |
| openehr.base#current | DV_PROPORTION | DV_PROPORTION |
| openehr.base#current | DV_QUANTITY | DV_QUANTITY |
| openehr.base#current | EXTRACT_PARTICIPATION | EXTRACT_PARTICIPATION |
| openehr.base#current | EXTRACT_VERSION_SPEC | EXTRACT_VERSION_SPEC |
| openehr.base#current | PARTICIPATION | PARTICIPATION |
| openehr.base#current | PARTY_RELATIONSHIP | PARTY_RELATIONSHIP |
| openehr.base#current | REFERENCE_RANGE | REFERENCE_RANGE |
| openehr.base#current | ROLE | ROLE |
| hl7.fhir.uv.symptoms#current | openEHR-EHR-CLUSTER.symptom-sign.v2 | openEHR-EHR-CLUSTER.symptom_sign.v2 |
| StructureDefinition | ||
| openehr.base#current | DATA_VALUE | DATA_VALUE |
| openehr.base#current | DV_ORDERED | DV_ORDERED |
Note: links and images are rebased to the (stated) source
Generated Narrative: StructureDefinition DV-INTERVAL
| Name | Flags | Card. | Type | Description & Constraints |
|---|---|---|---|---|
![]() | C | 0..* | DATA_VALUE | Generic class defining an interval Elements defined in Ancestors:CR, LF, Local_terminology_id Constraints: limits-consistent |
![]() ![]() | 0..1 | DV_ORDERED | Lower bound of the interval. | |
![]() ![]() | 0..1 | DV_ORDERED | Upper bound of the interval. | |
![]() ![]() | 1..1 | boolean | True if the interval has no lower bound. | |
![]() ![]() | 1..1 | boolean | True if the interval has no upper bound. | |
![]() ![]() | 1..1 | boolean | True if the lower bound is included in the interval. | |
![]() ![]() | 1..1 | boolean | True if the upper bound is included in the interval. | |
{
"resourceType": "StructureDefinition",
"id": "DV-INTERVAL",
"text": {
"status": "extensions",
"div": "<!-- snip (see above) -->"
},
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/web-source",
"valueUrl": "https://specifications.openehr.org/releases/RM/Release-1.1.0/data_types.html#_dv_interval_class"
},
{
"extension": [
{
"url": "name",
"valueCode": "T"
},
{
"url": "type",
"valueUri": "http://openehr.org/fhir/StructureDefinition/DV-ORDERED"
}
],
"url": "http://hl7.org/fhir/tools/StructureDefinition/type-parameter"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
"valueCode": "fhir"
},
{
"url": "http://hl7.org/fhir/tools/StructureDefinition/view-hint",
"valueCode": "element-view-as-leaf"
},
{
"url": "http://hl7.org/fhir/tools/StructureDefinition/view-hint",
"valueCode": "element-view-defns-parent"
},
{
"url": "http://hl7.org/fhir/tools/StructureDefinition/view-hint",
"valueCode": "element-view-replace-cardinality"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
"valueInteger": 3,
"_valueInteger": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueCanonical": "http://openehr.org/fhir/ImplementationGuide/openehr.base"
}
]
}
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode": "informative",
"_valueCode": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueCanonical": "http://openehr.org/fhir/ImplementationGuide/openehr.base"
}
]
}
}
],
"url": "http://openehr.org/fhir/StructureDefinition/DV_INTERVAL",
"version": "0.1.0",
"name": "DV_INTERVAL",
"title": "DV_INTERVAL",
"status": "active",
"experimental": false,
"date": "2025-09-06T15:35:39+10:00",
"publisher": "openEHR + HL7",
"contact": [
{
"telecom": [
{
"system": "url",
"value": "http://www.openehr.org"
}
]
}
],
"description": "Generic class defining an interval (i.e. range) of a comparable type. An interval is a contiguous subrange of a comparable base type. Used to define intervals of dates, times, quantities (whose units match) and so on. The type parameter, `T`, must be a descendant of the type `DV_ORDERED`, which is necessary (but not sufficient) for instances to be compared (`_strictly_comparable_` is also needed). \n\nWithout the `DV_INTERVAL` class, quite a few more `DV_` classes would be needed to express logical intervals, namely interval versions of all the date/time classes, and of quantity classes. Further, it allows the semantics of intervals to be stated in one place unequivocally, including the conditions for strict comparison. \n\nThe basic semantics are derived from the class `Interval<T>`, described in the support RM.",
"jurisdiction": [
{
"coding": [
{
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code": "001"
}
]
}
],
"fhirVersion": "5.0.0",
"mapping": [
{
"identity": "rim",
"uri": "http://hl7.org/v3",
"name": "RIM Mapping"
}
],
"kind": "logical",
"abstract": false,
"type": "http://openehr.org/fhir/StructureDefinition/DV_INTERVAL",
"baseDefinition": "http://openehr.org/fhir/StructureDefinition/DATA_VALUE",
"derivation": "specialization",
"snapshot": {
"extension": [
{
"url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
"valueString": "0.1.0"
}
],
"element": [
{
"id": "DV_INTERVAL",
"path": "DV_INTERVAL",
"short": "Generic class defining an interval",
"definition": "Generic class defining an interval (i.e. range) of a comparable type. An interval is a contiguous subrange of a comparable base type. Used to define intervals of dates, times, quantities (whose units match) and so on. The type parameter, `T`, must be a descendant of the type `DV_ORDERED`, which is necessary (but not sufficient) for instances to be compared (`_strictly_comparable_` is also needed). \n\nWithout the `DV_INTERVAL` class, quite a few more `DV_` classes would be needed to express logical intervals, namely interval versions of all the date/time classes, and of quantity classes. Further, it allows the semantics of intervals to be stated in one place unequivocally, including the conditions for strict comparison. \n\nThe basic semantics are derived from the class `Interval<T>`, described in the support RM.",
"min": 0,
"max": "*",
"base": {
"path": "Base",
"min": 0,
"max": "*"
},
"constraint": [
{
"key": "limits-consistent",
"severity": "error",
"human": "Limits consistent must satisfy range constraints",
"expression": "(upper_unbounded.not() and lower_unbounded.not()) implies (lower.is_strictly_comparable_to(upper) and lower <= upper)"
}
],
"isModifier": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "DV_INTERVAL.CR",
"path": "DV_INTERVAL.CR",
"short": "Carriage return character.",
"definition": "Carriage return character.",
"min": 1,
"max": "1",
"base": {
"path": "BASIC_DEFINITIONS.CR",
"min": 1,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.LF",
"path": "DV_INTERVAL.LF",
"short": "Line feed character.",
"definition": "Line feed character.",
"min": 1,
"max": "1",
"base": {
"path": "BASIC_DEFINITIONS.LF",
"min": 1,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.Local-terminology-id",
"path": "DV_INTERVAL.Local_terminology_id",
"short": "Predefined terminology identifier",
"definition": "Predefined terminology identifier to indicate it is local to the knowledge resource in which it occurs, e.g. an archetype",
"min": 1,
"max": "1",
"base": {
"path": "OPENEHR_DEFINITIONS.Local_terminology_id",
"min": 1,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.lower",
"path": "DV_INTERVAL.lower",
"short": "Lower bound of the interval.",
"definition": "Lower bound of the interval. Void if the interval is lower-unbounded.",
"min": 0,
"max": "1",
"base": {
"path": "DV_INTERVAL.lower",
"min": 0,
"max": "1"
},
"type": [
{
"code": "http://openehr.org/fhir/StructureDefinition/DV_ORDERED"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.upper",
"path": "DV_INTERVAL.upper",
"short": "Upper bound of the interval.",
"definition": "Upper bound of the interval. Void if the interval is upper-unbounded.",
"min": 0,
"max": "1",
"base": {
"path": "DV_INTERVAL.upper",
"min": 0,
"max": "1"
},
"type": [
{
"code": "http://openehr.org/fhir/StructureDefinition/DV_ORDERED"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.lower-unbounded",
"path": "DV_INTERVAL.lower_unbounded",
"short": "True if the interval has no lower bound.",
"definition": "True if the interval has no lower bound. If True, lower is Void.",
"min": 1,
"max": "1",
"base": {
"path": "DV_INTERVAL.lower_unbounded",
"min": 1,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.upper-unbounded",
"path": "DV_INTERVAL.upper_unbounded",
"short": "True if the interval has no upper bound.",
"definition": "True if the interval has no upper bound. If True, upper is Void.",
"min": 1,
"max": "1",
"base": {
"path": "DV_INTERVAL.upper_unbounded",
"min": 1,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.lower-included",
"path": "DV_INTERVAL.lower_included",
"short": "True if the lower bound is included in the interval.",
"definition": "True if the lower bound is included in the interval. Only meaningful if lower_unbounded is False.",
"min": 1,
"max": "1",
"base": {
"path": "DV_INTERVAL.lower_included",
"min": 1,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.upper-included",
"path": "DV_INTERVAL.upper_included",
"short": "True if the upper bound is included in the interval.",
"definition": "True if the upper bound is included in the interval. Only meaningful if upper_unbounded is False.",
"min": 1,
"max": "1",
"base": {
"path": "DV_INTERVAL.upper_included",
"min": 1,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"isModifier": false
}
]
},
"differential": {
"element": [
{
"id": "DV_INTERVAL",
"path": "DV_INTERVAL",
"short": "Generic class defining an interval",
"definition": "Generic class defining an interval (i.e. range) of a comparable type. An interval is a contiguous subrange of a comparable base type. Used to define intervals of dates, times, quantities (whose units match) and so on. The type parameter, `T`, must be a descendant of the type `DV_ORDERED`, which is necessary (but not sufficient) for instances to be compared (`_strictly_comparable_` is also needed). \n\nWithout the `DV_INTERVAL` class, quite a few more `DV_` classes would be needed to express logical intervals, namely interval versions of all the date/time classes, and of quantity classes. Further, it allows the semantics of intervals to be stated in one place unequivocally, including the conditions for strict comparison. \n\nThe basic semantics are derived from the class `Interval<T>`, described in the support RM.",
"min": 0,
"max": "*",
"constraint": [
{
"key": "limits-consistent",
"severity": "error",
"human": "Limits consistent must satisfy range constraints",
"expression": "(upper_unbounded.not() and lower_unbounded.not()) implies (lower.is_strictly_comparable_to(upper) and lower <= upper)"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.lower",
"path": "DV_INTERVAL.lower",
"short": "Lower bound of the interval.",
"definition": "Lower bound of the interval. Void if the interval is lower-unbounded.",
"min": 0,
"max": "1",
"type": [
{
"code": "http://openehr.org/fhir/StructureDefinition/DV_ORDERED"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.upper",
"path": "DV_INTERVAL.upper",
"short": "Upper bound of the interval.",
"definition": "Upper bound of the interval. Void if the interval is upper-unbounded.",
"min": 0,
"max": "1",
"type": [
{
"code": "http://openehr.org/fhir/StructureDefinition/DV_ORDERED"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.lower-unbounded",
"path": "DV_INTERVAL.lower_unbounded",
"short": "True if the interval has no lower bound.",
"definition": "True if the interval has no lower bound. If True, lower is Void.",
"min": 1,
"max": "1",
"type": [
{
"code": "boolean"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.upper-unbounded",
"path": "DV_INTERVAL.upper_unbounded",
"short": "True if the interval has no upper bound.",
"definition": "True if the interval has no upper bound. If True, upper is Void.",
"min": 1,
"max": "1",
"type": [
{
"code": "boolean"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.lower-included",
"path": "DV_INTERVAL.lower_included",
"short": "True if the lower bound is included in the interval.",
"definition": "True if the lower bound is included in the interval. Only meaningful if lower_unbounded is False.",
"min": 1,
"max": "1",
"type": [
{
"code": "boolean"
}
],
"isModifier": false
},
{
"id": "DV_INTERVAL.upper-included",
"path": "DV_INTERVAL.upper_included",
"short": "True if the upper bound is included in the interval.",
"definition": "True if the upper bound is included in the interval. Only meaningful if upper_unbounded is False.",
"min": 1,
"max": "1",
"type": [
{
"code": "boolean"
}
],
"isModifier": false
}
]
}
}